
package com.Manage;

import java.util.Scanner;

public class deleteStudents {
    public void Delete() {
        //初始化数据
        addStudents.Date();
        //获取数据
        String[] students = addStudents.getNames();
        Scanner scanner = new Scanner(System.in);
        //检查数据是否为空
        if (students.length == 0) {
            System.out.println("当前数据为空");
            return;//退出此方法
        }
        //显示当前的学生列表
        System.out.println("====当前学生====");
        for (int i = 0; i < students.length; i++) {
            System.out.println(students[i]);
        }
        do {
            System.out.println("\n请输入要删除的学生学号（输入exit退出）：");
            String input = scanner.nextLine().trim();
            // 退出条件
            if (input.equalsIgnoreCase("exit")) {
                break;
            }
            // 空输入处理
            if (input.isEmpty()) {
                System.out.println("错误：学号不能为空");
                continue;
            }
            // 查找学生
            int deleteIndex = -1;
            for (int i = 0; i < students.length; i++) {
                // 分割学号与姓名
                String[] parts = students[i].split(":");
                if (parts.length < 3) {
                    System.out.println("警告：发现无效数据 - " + students[i]);
                    continue;
                }
                // 精确匹配学号
                if (parts[0].trim().equals(input)) {
                    deleteIndex = i;
                    break; // 找到立即退出循环
                }
            }
            System.out.println("该学生已删除成功");
            // 处理查找结果
            if (deleteIndex == -1) {
                System.out.println("错误：未找到学号为 " + input + " 的学生");
                continue;
            }

            // 执行删除操作
            // 创建比原来小1的新数组
            String[] newArray = new String[students.length - 1];
            for(int i=0; i<deleteIndex; i++) {
                newArray[i] = students[i]; // 把原数组前面的元素逐个复制
            }
            for(int i=deleteIndex+1; i<students.length; i++) {
                newArray[i-1] = students[i];
            }
            students = newArray;
            System.out.println("删除成功！当前剩余学生：");
            for (int i = 0; i < students.length; i++) {
                System.out.println(students[i]);
            }
        } while (true);

        scanner.close();
        System.out.println("\n===== 删除操作结束 =====");
    }
}


